package top.fengleifeng.question;

import java.util.LinkedList;
import java.util.List;

/**
 * @program: leetcode-test
 * @description: 你被请来给一个要举办高尔夫比赛的树林砍树. 树林由一个非负的二维数组表示， 在这个数组中：
 * <p>
 * 0 表示障碍，无法触碰到.
 * 1 表示可以行走的地面.
 * 比 1 大的数 表示一颗允许走过的树的高度.
 * 每一步，你都可以向上、下、左、右四个方向之一移动一个单位，如果你站的地方有一棵树，那么你可以决定是否要砍倒它。
 * <p>
 * 你被要求按照树的高度从低向高砍掉所有的树，每砍过一颗树，树的高度变为 1 。
 * <p>
 * 你将从（0，0）点开始工作，你应该返回你砍完所有树需要走的最小步数。 如果你无法砍完所有的树，返回 -1 。
 * <p>
 * 可以保证的是，没有两棵树的高度是相同的，并且你至少需要砍倒一棵树。
 * <p>
 *  
 * <p>
 * 示例 1:
 * <p>
 * 输入:
 * [
 * [1,2,3],
 * [0,0,4],
 * [7,6,5]
 * ]
 * 输出: 6
 * 示例 2:
 * <p>
 * 输入:
 * [
 * [1,2,3],
 * [0,0,0],
 * [7,6,5]
 * ]
 * 输出: -1
 * 示例 3:
 * <p>
 * 输入:
 * [
 * [2,3,4],
 * [0,0,5],
 * [8,7,6]
 * ]
 * 输出: 6
 * 解释: (0,0) 位置的树，你可以直接砍去，不用算步数
 *  
 * <p>
 * 提示：
 * <p>
 * 1 <= forest.length <= 50
 * 1 <= forest[i].length <= 50
 * 0 <= forest[i][j] <= 10^9
 * 通过次数1,637提交次数4,309
 * 在真实的面试中遇到过这道题？
 * <p>
 * 是
 * <p>
 * 否
 * 贡献者
 * <p>
 * 相关企业
 * 相关标签
 * <p>
 * 题目列表
 * <p>
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/cut-off-trees-for-golf-event
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 * @author: fengleifeng
 * @create: 2020-09-23 20:12
 **/
public class Num675为高尔夫比赛砍树 {

    class Solution {
        public int cutOffTree(List<List<Integer>> forest) {
            int[][] num = new int[forest.size()][forest.get(0).size()];
            for (int i = 0; i < forest.size(); i++) {
                for (int j = 0; j < forest.get(i).size(); j++) {
                    num[i][j] = forest.get(i).get(j);
                }
            }
            int nowX = 0;int nowY = 0;
//            int
            while (true){

            }
        }
    }
}
